﻿using MagicVilla_API.Models;
using System.Linq.Expressions;

namespace MagicVilla_API.Responsitory
{
    public interface IResponsitory<T> where T : class
    {
        Task<List<T>> GetAll(Expression<Func<T, bool>>? filter = null,string? includeProperties = null);
        Task<T> Get(Expression<Func<T, bool>>? filter = null, bool tracked = true, string? includeProperties = null);
        Task Create(T entity);        
        Task Remove(T entity);
        Task Save();

    }
}
